﻿using System;
using System.Collections.Generic;
using System.Text;
using BCCommon;
using BCDto.Chats.Thread;
using BCDto.Chats.Message;

namespace BCService.Chats
{
    [NonInjection]
    public interface ICustomerServiceService
    {
        /// <summary>
        /// 分配客服。
        /// </summary>
        /// <param name="thread"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        string Distribute(ThreadRequestDto thread, out MessageRequestDto message);

        /// <summary>
        /// 关闭会话。
        /// </summary>
        /// <param name="thread"></param>
        /// <param name="reason"></param>
        void Close(ThreadDto thread, string reason);

        /// <summary>
        /// 接收新消息。
        /// </summary>
        /// <param name="messageDto"></param>
        void ReceiveNewMessage(MessageDto messageDto);
    }
}
